package queue

import (
	"context"
	"go.uber.org/zap"
	"time"
)

// amqp queue

type Queue interface {
	CtxQueue(ctx context.Context, ctxLogger *zap.SugaredLogger) Queue

	Send(queueName string, route string, params interface{}, options ...*Options) error
	SetLogger(log *zap.SugaredLogger)
	QueueDeclarer
}

type QueueDeclarer interface {
}

type Consumer interface {
	Consume()
	QueueDeclarer
}

type Options struct {
	DelayTime time.Duration
	Category  string
	Conn      any
}
